"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {};
function cc(Base) {
}
class sdasda {
    constructor(a2, b) {
        this.address = "";
        this.a1 = a2;
        this.b1 = b;
    }
    setPos(x, y) {
        console.log(x + y);
    }
}
cc(sdasda);
// 定义混入函数
function CanJump(Base) {
    return class extends Base {
        constructor(...args) {
            super(args);
        }
        jump() {
            console.log("I can jump");
        }
    };
}
// 基础类
class Animal {
    constructor(address) {
        this.name = "Animal";
        this.address = address;
    }
    setPos(x, y) {
        console.log(x + y);
    }
}
// 应用混入
const JumpingAnimal = CanJump(Animal);
const a = new JumpingAnimal("学报");
a.jump(); // I can jump
console.log(a.name); // Animal
